#pragma once

#ifdef DLLMATTOOL_EXPORTS
#define DLLMATTOOL_API __declspec(dllexport)
#else
#define DLLMATTOOL_API __declspec(dllimport)
#endif

//#include <Eigen/Dense>

static constexpr int MAT_SIZE = 6;
static constexpr int N = 360;
struct sCoord {
	double Ex, Ey, Ez;
	double Gxy, Gyz, Gxz;
	double vxy, vyz, vxz;
};

extern "C" {
	DLLMATTOOL_API int getBeamLength(const char* beamLengthFilePath);

	DLLMATTOOL_API int resizeImage(const double* srcImage, int srcRows, int srcCols,
		int targetRows, int targetCols, double* dstImage);

	DLLMATTOOL_API void getImageSize(double width1, double depth1, double depth2, double jianju, double jianju_1,
		int* width, int* height, int* imageSize);

	DLLMATTOOL_API void tool_process(const char* data3x3FileName, const char* bigCSVFileName, char* finalImage,
		double width1, double depth1, double depth2, double widthjingpian, double ff1, double jianju, double jianju_1);
}
